From 73f432a47c0c562c4cb3843fbc9ebafc3757d8db Mon Sep 17 00:00:00 2001 From: Bryan O'Donoghue Date: Fri, 8 Jun 2018 13:16:29 +0100 Subject: [PATCH] imx7: imx7_clock: uart: Add UART clock init logic This patch adds an internal UART init routine that gets called from the external facing clock init function. In the first pass this call does an explicit disable of all UART clock-gates. Later changes will enable only the UART clock-gates we care about. Signed-off-by: Bryan O'Donoghue --- plat/imx/common/imx7_clock.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 plat/imx/common/imx7_clock.c diff --git a/plat/imx/common/imx7_clock.c b/plat/imx/common/imx7_clock.c new file mode 100644 index 00000000..ce43a021 --- /dev/null +++ b/plat/imx/common/imx7_clock.c @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#include +#include + +static void imx7_clock_uart_init(void) +{ + unsigned int i; + + for (i = 0; i < MXC_MAX_UART_NUM; i++) + imx_clock_disable_uart(i); +} + +void imx_clock_init(void) +{ + /* + * The BootROM hands off to the next stage with the internal 24 MHz XTAL + * crystal already clocking the main PLL, which is very handy. + * Here we should enable whichever peripherals are required for ATF and + * OPTEE. + * + * Subsequent stages in the boot process such as u-boot and Linux + * already have a significant and mature code-base around clocks, so our + * objective should be to enable what we need for ATF/OPTEE without + * breaking any existing upstream code in Linux and u-boot. + */ + + /* Initialize UART clocks */ + imx7_clock_uart_init(); +} -- 2.30.2